返回上一级
返回目录
返回目录
-
dbg_cmd.h
-
dbg_cmd.c
返回目录
-
宏定义
-
定义信息输出接口函数(使用myprint.h里的myprint_func格式输出函数为例)
-
添加myprintf.c函数头文件 并在myprintf.h定义PRINTF_INFO_EN
-
将命令输出与打印输出函数对接
-
#define DBG_CMD_PRN(format, ...) printf(format, ##__VA_ARGS__)
-
定义命令行使能宏
-
使能命令行,必须在打印输出函数有效情况下,才有意义
-
#define DBG_CMD_EN // 屏蔽关闭所以模块命令行功能
-
当不使能此处宏时,整个工程命令行将不被编译
-
定义命令注册最大模块(默认32个)
#define DBG_CMD_LIST_NUM 32 // 最大注册模块个数
-
根据需求定义命令各种类型参数个数(下列为默认个数值)
-
#define PARAM_1BYTE_NUM 3 // "1" 1byte
-
#define PARAM_2BYTE_NUM 3 // "2" 2byte
-
#define PARAM_4BYTE_NUM 1 // "4" 4byte
-
#define PARAM_FOLAT_NUM 1 // "f" float
-
#define PARAM_STRING_NUM 2 // "s" string
-
#define PARAM_STR_LEN 16 // "s" string 接收参数字符串长度
-
函数注册初始化
-
dbg_cmd_init(1) // 0:上电默认关闭命令行 1:上电默认启动命令
-
dbg_cmd_rxd(rxd); // 串口接收字符输入函数
-
dbg_cmd_1s_thread(); // 每秒调用一次函数
返回目录
char test_port[2] = 0;
void set_port_val(char px,char val)
{
switch(px){
case 0:
test_port[0] = val;
break;
case 1:
test_port[1] = val;
break;
}
}
/************************************************************************/
/* dbg_cmd Interface */
/************************************************************************/
#include "dbg_cmd.h" // 屏蔽关闭此模块命令行调试
#ifdef DBG_CMD_EN
static bool dbg_cmd_func()
{
if (dbg_cmd_exec("help", "", "")) {
DBG_CMD_PRN(".xxxx\r\n");
return false;
}
if (dbg_cmd_exec(".exit", "", "")) {
// 通知模块 系统退出 模块可用设置退出系统后的参数状态 如关闭打印等级
return false;
}
if (dbg_cmd_exec(".xxxx", "", "")) {
// 收集打印此命令 一下命令信息 直到此模块函数结束
dbg_cmd_print_msg_en();
}
if (dbg_cmd_exec("xxxxMsg", "", "")) {
DBG_CMD_PRN("port0:%#02X port1:%#02X\r\n",test_port[0],test_port[1]);
return true;
}
if (dbg_cmd_exec("SetPortVal", "11", "<0,1> <0~0xFF>")) {
set_port_val(get_param_char(0),get_param_char(1));
return true;
}
}
void xxxx_init()
{
#ifdef DBG_CMD_EN
dbg_cmd_add_list((int)dbg_cmd_func);
#endif
}
返回目录
-
使用串口进行命令行交互
-
命令以回车结束执行
-
命令字符串不区分大小写
-
整个工程命令字符必须唯一,否则只执行第一个出现的相同命令
-
命令格式:命令字符串 [H]参数1 [H]参数2 [H]参数3 [H]参数4<回车>
-
说明:[]为可选项,当参数前有H时,此时参数为十六进制模式
命令
|
功能
|
inker
|
登录命令行
|
exit
|
退出命令行(通知各模块)
|
help
|
打印注册命令所以模块列表
|
.xxx
|
打印指定xxx模块命令列表
|
xxxmsg
|
打印模块参数信息
|
返回目录
-
查看xxx模块命令列表
-
.xxx<回车>
-
返回xxx模块命令列表:命令 参数表 帮助信息
-
查看模块参数信息
-
设置p0的值为10
-
setportval 0 10
-
setportval 0 ha
返回目录